The asynchronous transfer mode (ATM) protocol and system are used to communicate data cells over potentially large distances. The transmitting of these data cells, due to the large distances, is more economically sent by sending information for multiple channels through a single physical communication line. Efficient and effective time multiplexing into this single physical communication line is therefore a important criterion in ATM design. In addition, the time multiplexing should be able to compensate for many different active ATM channel which may have a large variance of bandwidths and transmit criterion. Therefore, a method and apparatus for efficient and effective time multiplexing and/or data cell transmission scheduling in an ATM system is desired.